package blog.service;

import blog.entity.Article;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ArticleService {
    /**
     * 查询最近发布的n篇文章
     * @param n 文章数
     * @return 文章列表
     */
    List<Article> listRecentArticle(Integer n);

    /**
     * 分页查询文章信息
     * @param pageIndex 当前要查询的第几页
     * @param pageSize 一页放多少数据
     * @return 每页文章信息
     */
    PageInfo<Article> getPageArticleList(Integer pageIndex,Integer pageSize);

    /**
     * 删除文章
     * @param id 文章Id
     */
    void deleteArticleById(Integer id);

    /**
     * 添加文章
     * @param article 文章
     */
    void addArticle(Article article);

    /**
     * 添加草稿
     * @param article
     */
    void addDraft(Article article);

    /**
     * 根据文章Id查询文章信息
     * @param id 文章Id
     * @return 文章信息
     */
    Article getArticleById(Integer id);

    /**
     * 获取某个分类的文章数
     * @return 文章数
     */
    int getArticleCateGoryCount(Integer id);
}
